package com.kabigon.tiny.config;

import org.mybatis.spring.SqlSessionFactoryBean;
import org.mybatis.spring.mapper.MapperScannerConfigurer;
import org.springframework.context.annotation.Bean;

import javax.sql.DataSource;

/**
 * @author xu.biao
 * @version v1.0
 * @Package com.kabigon.tiny.config
 * @data 2022/10/16 15:12
 */
public class MybatisConfig {

    @Bean
    public SqlSessionFactoryBean sqlSessionFactory(DataSource dataSource) {
        SqlSessionFactoryBean factoryBean = new SqlSessionFactoryBean();
        factoryBean.setDataSource(dataSource);
        // 该属性可以给包中的类注册别名，
        // 注册后可以直接使用类名，
        // 而不用使用全限定的类名（就是不用包含包名）
        factoryBean.setTypeAliasesPackage("com.kabigon.tiny.domain");
        return factoryBean;
    }

    @Bean
    public MapperScannerConfigurer mapperScannerConfigurer() {
        MapperScannerConfigurer msc = new MapperScannerConfigurer();
        msc.setBasePackage("com.kabigon.tiny.dao");
        return msc;
    }


}
